There exist many kinds of software tools for analyzing characteristics of computer processor pipeline statistics to help a user to find possible performance hazards in code running in the processor pipeline, for example, a graphical pipeline observer recited in PERFORMANCE ANALYSIS USING PIPELINE VISUALIZATION, Advance Computer Architecture Laboratory University of Michigan, 2001 IEEE International Symposium on Performance Analysis of Systems and Software (ISPASS-2001), June 2001. These kinds of software tools analyze the characteristics of the computer processor pipeline statistics by reading raw trace data, generating a two-dimensional image representing the characteristics of the pipeline statistics based on the read raw trace data, and examining the generated two-dimensional image, so as to help the user to find potential performance problems. The user examines the two-dimensional image by performing operations such as scrolling the image along a horizontal or longitudinal axis of the two-dimensional image and zooming in/out the image. In general, height and width of the image generated based on the raw trace data are usually very large, say 100,000 pixels in both dimensions. An image compression technology is necessary when the image is generated based on so much data.
It is well known that, there are many image encoding or compression algorithms. These algorithms can be substantially divided into two categories: lossless compression algorithm and lossy image compression algorithm. Examples of lossless compression algorithms are run-length compression of LZW compression algorithms. Examples of lossy compression algorithms are JPEG or JPEG2000. Usually lossy compression algorithms can achieve much better compression ratio, but these algorithms cannot preserve completely and exactly all the details of the original image. In the usage scenario of examining the image generated from the computer processor pipeline statistics data, since all the details of the original image must be completely and exactly preserved, lossy compression algorithms cannot be used. However, the compression ratio of generic lossless compression algorithms is not high enough and thus memory space and computer processing power required to store and process the image greatly increase.
In order to reduce the memory space required in the course of storing and processing the image, the following digital image lossless compression method is known: dividing the image into a plurality of blocks, detecting a category of each block, and performing the image lossless compression using a different compression technology most suitable for the category of the block.
Although lossless compression technology reduces the memory space required in the course of storing and processing the image to a certain extent, since the compression is performed directed to each sub-block, a problem of low compression ratio exists.
In addition, as described above, in analyzing the characteristics of the computer processor pipeline statistics, the image generated based on the raw trace data is large in scale. Since the compression ratio of said lossless compression technology is not high, huge memory space and limited computer processing power render the whole pipeline image difficult to display. Even if the user views the image by scrolling or zooming in/out, the image cannot be scrolled or zoomed in/out in a very short response time, so a problem of poor convenience exists.
Generally, all the pixels in the image generated based on the computer processor pipeline statistics data are always regularly distributed, that is, most of the pixels are around the diagonal line from top-left to bottom-right. However, if each pixel in such a large-scaled image is encoded and processed as in the prior art, huge memory space and uncommon computer processing power are undoubtedly needed.